package com.se.net;

/**
 * @author hdu_huang
 * @since 2024/2/28 028 22:56.
 *  学习TCP/IP协议栈  Protocol Stack
 *  2层 IEEE 802.X,  EthernetII Frame和802.3 Frame[差别核销]
 *  3层 IP ARP RARP ICMP IGMP
 *  4层 TCP UDP SCTP DCCP
 *  4.5层 SSL/TLS  SOCKS
 *  5层 HTTP HTTPS DHCP DNS MQTT
 *
 *  <a href="https://support.huawei.com/enterprise/zh/doc/EDOC1100174722">互联网协议数据格式</a>
 *  ARP RARP[废弃] IARP,  代理ARP 免费ARP  ARP欺骗
 */
public class ProtocolStack {

    //Assigned Internet Protocol Numbers 分配的Internet协议号[IPv4 Protocol字段1个字节]
    // https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml
    public static final int TCP = 6;

    /*
   major
    1.Ethernet II Frame   RFC894      IP/ARP/RARP...
    DMAC[6字节]  SMAC[6字节]  TYPE[2]  DATA[46-1500]   FCS[4]
    IP:0800   ARP: 0806   RARP: 8035
    以太网帧的FCS[循环冗余校验码]只涵盖帧中的数据部分，不包括目的MAC地址和源MAC地址。确保数据的完整性。
    2.802.3 Frame
    DMAC[6字节]  SMAC[6字节]  Length[2]  802.2Header和DATA[46-1500]  FCS[4]
    差异很小，当Length>=0x0600[1536]表示是802.3 Frame, <=0x05DC[1500]为Ethernet II
     */



    //常见内网IP段
    // 10.0.0.0 - 10.255.255.255
    // 172.16.0.0 - 172.31.255.255
    // 192.168.0.0 - 192.168.255.255
    // 198.18.0.0 - 198.19.255.255     测试 198.18.1.1/24
    public static void main(String[] args) throws Exception{

        System.out.println("Study Protocol Stack.");

    }

}
